package com.hospital.schedule.module.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hospital.common.dto.schedule.module.AgreeLeaveRecordByDoctorDto;
import com.hospital.common.dto.schedule.module.DisagreeLeaveRecordByAdminDto;
import com.hospital.common.dto.schedule.module.FindLeaveRecordByDoctorDto;
import com.hospital.common.dto.schedule.module.GetLeaveRecordDto;
import com.hospital.common.pojo.TDoctorLeaveRecord;

import java.util.List;

/**
 * <p>
 * 医⽣请假记录表 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2025-09-12
 */
public interface TDoctorLeaveRecordMapper extends BaseMapper<TDoctorLeaveRecord> {

    Integer addLeaveRecord(TDoctorLeaveRecord tDoctorLeaveRecord);

    List<TDoctorLeaveRecord> getLeaveRecord(GetLeaveRecordDto getLeaveRecordDto);

    Long getLeaveRecordTotal(GetLeaveRecordDto getLeaveRecordDto);

    List<TDoctorLeaveRecord> findLeaveRecordByDoctor(FindLeaveRecordByDoctorDto findLeaveRecordByDoctorDto);

    Long findLeaveRecordByDoctorTotal(FindLeaveRecordByDoctorDto findLeaveRecordByDoctorDto);

    Integer agreeLeaveRecord(Long leaveRecordId);

    Integer agreeLeaveRecordByDoctor(AgreeLeaveRecordByDoctorDto agreeLeaveRecordByDoctorDto);

    Integer disagreeLeaveRecordByAdmin(DisagreeLeaveRecordByAdminDto disagreeLeaveRecordByAdminDto);
}
